1. Field of the Invention
The present invention relates generally to the recording of data onto optical discs, and more particularly to a method for removing the limit on the number of data files that can be recorded on a CD-Plus multi-session optical disc.
2. Description of the Related Art
Optical disc storage of data offers relatively high capacity data storage (e.g., approximately 640 Megabytes) on a relatively small and inexpensive optical disc. Optical disc recording commonly involves recording (sometimes referred to as xe2x80x9cburningxe2x80x9d) audio tracks or data files on one or more spiral tracks on a optical disc, which can typically hold between 1 and 99 tracks. A multi-session disc such as the CD-Plus accommodates both audio and data sessions on a single disc with one session allocated to audio information and one session to data files. In the data session, a volume descriptor sequence and a file system is typically recorded at the beginning of a session. The volume descriptor sequence contains a Primary Volume Descriptor (PVD), any number of Supplementary Volume Descriptors (SVD), and a Volume Descriptor Set Terminator (VDST).
The PVD and SVD describe the volume space, identify the attributes of the volume, identify the locations of a Root Directory, a group of Path Tables, and identify certain structures associated with the file system. The volume descriptor sequence must be terminated by a VDST. The file system, as the term is used herein, contains Path Tables and Directory Records. The file system is typically recorded immediately following the volume descriptor sequence and contains location and structure information for the directories and files such as directory hierarchy, structure, and location, file locations and logical block numbers. The volume descriptor sequence by convention (and in compliance with ISO standard 9660) is located in logical block 16 (and blocks following block 16 if needed) of the first track of a recording session. The ISO 9660 Specification (also referred to as the Information Processing-Volume and file structure of CD-ROM for information interchange) is hereby incorporated by reference.
When recording on an optical disc, data files are continuously recorded onto one or more tracks of the optical disc during a recording session. The data files to be recorded are scanned and a volume descriptor sequence and file system created. The volume descriptor sequence is then recorded starting in block 16, followed by the file system starting in the next available block following the VDST. In accordance with the Blue Book standard, block 75 is reserved for a fixed location CD-Plus file, and then data files are recorded beginning in block 76 or the next available block following the fixed location CD-Plus file. Blue Book (Compact Disc Digital Audio Enhanced Music CD Specification, Version 1.0, December 1995, and both earlier and later versions) is hereby incorporated by reference. The size of the file system is proportional to the number of data files selected for recording such that as the number of files selected for recording increases, so does the size of the file system. Eventually, after the number of data files reaches about 1700, the file system can no longer fit in the allocated space before the reserved block 75. If the number of data files to be recorded is greater than about 1700, only about 1700 data files will be recorded on any one optical disc. This limitation is a result of the space allocated for the file system and not the size of the data files. The optical disc may have the storage capacity for more data files, but the number of files that can be recorded is limited to only about 1700 data files.
FIG. 1A shows a block diagram 10 of the prior art allocation of information on a CD-Plus optical disc. In accordance with the ISO 9660 standard, blocks 1 through 15 are reserved for system use and are represented as shaded area 152. The volume descriptor sequence is recorded beginning in block 16 with the PVD 154a, followed by the SVD 154b and the VDST 154b. The block diagram 10 is representative of a typical allocation, and the SVD 154b and VDST 154c shown in blocks 17 and 18 are not always or necessarily allocated to those two particular blocks. The PVD 154a, however, will always be recorded in block 16, and the SVD 154b and VDST 154c are recorded immediately following. The file system 156 is recorded in that area after the VDST and before block 75. As mentioned above, the size of the file system is directly proportional to the number of data files to be recorded. Thus, if only a few data files are selected to be recorded, regardless of the size of the files themselves, then a small file system is created and recorded in the space allocated to the file system 156. Nothing else is recorded in the space allocated to the file system 156, and so a small file system can result in space allocated for the file system 156 remaining unused.
However large or small the file system may be, an info.cdp file 158 is recorded at block 75. This is a fixed-location CD-Plus file that is recorded in block 75 in accordance with Blue Book and, as described above, is the primary limiting factor in the number of files that may be recorded on an optical disc due to this fixed location. Data files 160 are recorded in the blocks after block 75 info.cdp file 158 to the end of the disc, or until the maximum number of files, about 1700, are selected for recording. Because the size of the file system is proportional to the number of data files and not the size of the data files, the result illustrated in FIG. 1A is possible when the number of files selected for recording is about 1700, but the size of the files is smaller than the capacity of the optical disc. When this situation occurs, there is unused space 161 left on the disc after the data files 160 are recorded.
This limitation on the number of data files that can be recorded on a CD-Plus optical disc, therefore, results in wasted disc space and the need to use multiple discs and recording sessions to record the data. What is needed is a method for recording data on optical discs that is not limited by the number of files selected for recording. The method should be configured to avoid the problems of the prior art.
The present invention fills these needs by providing methods that can remove the limit on the number of files that can be recorded on a CD-Plus multi-session optical disc. The invention is a method for recording and organizing data on a CD-Plus multi-session optical disc in such a way as to allow for a file system that can be as large as it needs to be to accommodate the data selected for recording. The present invention can be implemented in numerous ways, including as a process, an apparatus, a system, a device, a method, or a computer readable media. Several embodiments of the present invention are described below.
In one embodiment, a method for recording data on a CD-Plus multi-session optical disc is disclosed. The method includes determining a length of a file system of data to be recorded and then recording a volume descriptor sequence (VDS). The file system or any portion of the file system that will fit is recorded in the space between the VDS and logical block 75, if the file system or any portion of the file system will fit in the space. If any data files or file extents will fit in the remaining space between the file system or portion of the file system and logical block 75, those data files or file extents are written in that space. The fixed location CD-Plus file is recorded in logical block 75, and then the remaining portion of the file system is written in the space beginning with the next logical block following the fixed location CD-Plus file in block 75.
In another embodiment, a method for recording data on an optical disc is disclosed. The length of the file system of data to be recorded is determined, and then the VDS is written. The file system or any portion of the file system that will fit is recorded in the space between the VDS and logical block 75, if the file system or any portion of the file system will fit in the space. That portion of the file system that fits before logical block 75 is written into that space. The fixed location CD-Plus file is recorded in logical block 75, and then the remaining portion of the file system is written in the space beginning with the next logical block following the fixed location CD-Plus file in block 75.
In yet another embodiment, a method for recording data on an optical disc is disclosed. In this embodiment data is written both before and after logical block 75. Accordingly, a length of the file system of data to be recorded is determined, and then the VDS is written. A portion of the data including data files and file extents is written into the space between the VDS and logical block 75. The fixed location CD-Plus file is recorded in logical block 75, and then the file system is written in the space beginning with the next logical block following the fixed location CD-Plus file in block 75.
One benefit and advantage of the present invention is that more efficient use can be made of the storage capacity of a CD-Plus multi-session optical disc if the session is no longer limited by the number of files that can be selected for recording. This benefit leads to the additional benefits of decreased cost of recording data if fewer discs are required to record data more efficiently, decreased time for recording if more data is recorded in fewer sessions, and decreased turn-around time for recording if fewer sessions are required.
Other advantages of the invention will become apparent from the following detailed description, taken in conjunction with the accompanying drawings, illustrating by way of example the principles of the invention.